Electronic devices, such as mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties. When a build of the memory image of firmware for an electronic device is created in a manufacturing or product development environment, often the information regarding the components in the build are lost or discarded. Thus, the subsequent execution of another build cannot make use of information from a previous build. In situations where it is important to discover how a given build is different from a previous build, there is often limited information available that is inadequate to determine the changes between builds.
There is a problem in updating devices with file-systems. There is a problem in saving update packages in file-systems such that an application, such as an update agent, can access it when the file-system is not available.
There is a problem of updating file-system based components in device with NAND based flash memory. There is a problem of implementing fault-tolerant updates of components or files in NAND flash memory.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.